# -*- coding: utf-8 -*-
# https://blog.csdn.net/weixin_52040868
# 公众号：测个der
# 微信：qing_an_an

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit


class Demo(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('PyQt5事件处理 - 事件过滤器')
        self.setGeometry(300, 300, 400, 200)

        self.textbox = QLineEdit(self)
        self.textbox.move(10, 10)
        self.textbox.installEventFilter(self)  # 将Demo类本身作为事件过滤器

        self.show()

    def eventFilter(self, obj, event):
        if obj is self.textbox and event.type() == 2:  # 如果是文本框对象的信号类型
            print('输入：', self.textbox.text())  # 输出文本框中的文本
        return super().eventFilter(obj, event)  # 返回父类的事件过滤器方法


if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Demo()
    sys.exit(app.exec_())